//Mark O'Meara - 1BA2 Assignment 2 - 08332240
	class Person {
		private String name;
		private String gender;
		private int age;
		private int height;
		private String shift;
		private String smoke;
		private String district;
		private int maxMatchAge;
		
		public Person(String nme, String g, int yrs, int h, String sh, String sm, String dis){
			this.name = nme;
			this.gender = g;
			this.age = yrs;
			this.height = h;
			this.shift = sh;
			this.smoke = sm;
			this.district = dis;
				
				//This will store the maximum age that their match can be
				if (this.gender.equals("m") & this.age < 26){
						this.maxMatchAge = (this.age + 1);
				}
				//Max age is set to 120 for people who have no maximum age for their match
					else{
						this.maxMatchAge = 120; 
						}
		}
		
	//Return methods
		
		public String getName(){
			return this.name;
		}
		public String getGender(){
			return this.gender;
		}
		public String getShift(){
			return this.shift;
		}
		public String getSmoke(){
			return this.smoke;
		}
		public int getAge(){
			return this.age;
		}
		public int getHeight(){
			return this.height;
		}
		public String getDistrict(){
			return this.district;
		}
		public int getmaxMatchAge(){
			return this.maxMatchAge;
		}
		
		
	//Other methods:
		
			//Max height a person is allowed to be based on another person that they are being compared to:
		public int getMaxHeight(Person other){	
			if (this.gender.equals("m")){
				return (other.getHeight() + 25);		
			}
			else{
			return (other.getHeight());
		}
		}
		
			//Method to compare two people to see if they are a match:
		public boolean matchWith(Person other){
			return (!(this.getGender().equals(other.getGender())) & this.getAge() <= other.getmaxMatchAge() & 
			other.getAge() <= this.getmaxMatchAge() & this.getMaxHeight(other) >= this.getHeight() & 
			other.getMaxHeight(this) >= other.getHeight() & this.getShift().equals(other.getShift()) & 
			 this.getSmoke().equals(other.getSmoke()) & this.getDistrict().equals(other.getDistrict()));
		}
		}
